package modelo.estatico.pared;

import java.util.Enumeration;
import java.util.Hashtable;

import vista.pared.VistaParedDeConcreto;
import vista.proyectil.VistaBala;
import ar.uba.fi.algo3.titiritero.ControladorJuego;

import modelo.Contenedor;
import modelo.Posicion;
import modelo.Vector;
import modelo.proyectil.Bala;

public class ParedDeConcreto extends Pared {
	
	public ParedDeConcreto (Posicion p){
		this.resistenciaDeGolpes = 1;
		this.posicion = p;
	}

	public String getNombreClase() {
		return "ParedDeConcreto";
	}

	public static void leer(Enumeration e, Hashtable h) {
		String key;
		String val;
		ParedDeConcreto pared = new ParedDeConcreto(new Posicion(0, 0));
		while (e.hasMoreElements()) {
			key = (String) e.nextElement();
			val = (String) h.get(key);
			if (key.equalsIgnoreCase("PosX")) {
				int posY = pared.getPosicion().getY();
				pared.setPosicion(new Posicion(Integer.parseInt(val), posY));
			} else if (key.equalsIgnoreCase("PosY")) {
				int posX = pared.getPosicion().getX();
				pared.setPosicion(new Posicion(posX, Integer.parseInt(val)));
			} else if (key.equalsIgnoreCase("ResistenciaDeGolpes")) {
				pared.setResistenciaDeGolpes(Integer.parseInt(val));
			}
		}
		VistaParedDeConcreto vistaParedDeConcreto = new VistaParedDeConcreto();
		vistaParedDeConcreto.setPosicionable(pared);
		ControladorJuego unControlador = Contenedor.getInstance().getControlador();
		unControlador.agregarDibujable(vistaParedDeConcreto);
		unControlador.agregarObjetoVivo(pared);
		Contenedor.getInstance().agregarPared(pared);
	}
}
